package rkdwogus7.basic;

import java.util.*;

public class J04_SungJuk {

	
 	public static void main(String[] args) {
 		// 성적 처리 프로그램 v3
 		// if문을 switch문으로 바꾸기
 	
 		
 		Scanner sc = null;	// 키보드 입력 준비
 		String name;	
 		int kor;	
 		int eng;	
 		int mat;	

 		final char SU = '수';
 		final char WU = '우';
 		final char MI = '미';
 		final char YANG = '양';
 		final char GA = '가';
 		
 		int tot;	// 총점은 정수지
 		float avg;	// 실수 저장 변수, 평균
 		char grd;	// 단일 문자 변수, 학점(grade)
 		
 		// 이름 및 성적 입력
 		sc = new Scanner(System.in);
 		System.out.print("이름은?");
 		name = sc.next();	// 키보드로 문자 입력
 		System.out.print("국어는?");
 		kor = sc.nextInt();	// 키보드로 숫자 입력
 		System.out.print("영어는?");
 		eng = sc.nextInt();
 		System.out.print("수학은?");
 		mat = sc.nextInt();
 		grd = ' ';	// 이렇게 초기화를 시켜 둬야겠지.
 		sc.close();	// 키보드 입력 종료
 		
 		tot = kor + eng + mat;
 		avg = tot / 3;

 		
 		if (avg >= 90){ grd = SU; }
 		else if (avg >= 80 ){ grd = WU; }
 		else if (avg >= 70 ){ grd = MI; }
 		else if (avg >= 60 ){ grd = YANG; }
 		else { grd = GA; }
/* 		if (avg >= 90){ grd = SU; }
 		else if (avg >= 80 ){ grd = WU; }
 		else if (avg >= 70 ){ grd = MI; }
 		else if (avg >= 60 ){ grd = YANG; }
 		else { grd = GA; }
*/
 		
 		// switch 의 평가식의 결과값은
 		// 반드시 char, int, 열거형(enum) 형이어야 함
 		// 단 JDK7부터는 String도 사용 가능
/* 		switch ((int)avg) {
 		case 100 : grd = SU;
 		case 99 : grd = SU;
 		case 90 : grd = SU;
 		
 		case 89 : grd = WU;
 		case 88 : grd = WU;
 		case 80 : grd = WU;
 		
 		case 79 : grd = MI;
 		case 78 : grd = MI;
 		case 70 : grd = MI;
 		
 		case 69 : grd = YANG;
 		case 68 : grd = YANG;
 		case 60 : grd = YANG;
 		
 		case 59 : grd = GA;
 		case 49 : grd = GA;
 		case 39 : grd = GA;
 		case 29 : grd = GA;
 		case 19 : grd = GA;
 		case 9 : grd = GA;
*/
 		// 뭔가 더 답답하지? 이걸 변화를 줘서 스위치문을 쓰는 장점을 찾아볼거야
 		// 공통분모를 찾아봐. 앞자리만 뽑아서 하면 좀 쉬워지겠지? 동전계산때 배운 거야.
 		// 10으로 나눠서 몫이 얼마냐로 정해주면 되겄네. 이런걸 잘 보란 말이지
/* 		switch ( (int)avg / 10 ) {
 		// case 10 : grd = SU; 이거 없애도 되겠지. 프로그램의 실행 순서는 순차구조이기 때문이지.
 		case 10 : 
 		case 9 : grd = SU; break;
 		case 8 : grd = WU; break;
 		case 7 : grd = MI; break;
 		case 6 : grd = YANG; break;
 		case 5 : // grd = GA;	: 다 지우면 된다고.
 		case 4 : // grd = GA;
 		case 3 : // grd = GA;
 		case 2 : // grd = GA;
 		case 1 : // grd = GA;
 		case 0 : grd = GA; break;
*/
 		switch ( (int)avg / 10 ) {
 		case 10 : 
 		case 9 : grd = SU; break;
 		case 8 : grd = WU; break;
 		case 7 : grd = MI; break;
 		case 6 : grd = YANG; break;
 		default : grd = GA;
 		// break;를 안 쓰면 무조건 GA 출력되겠지? 순차구조 생각해보면 브레이크를 어디에 걸어야 하는 지 알 거야.
 		
 		
 		}
 		System.out.println( "이름 : " + name );
 		System.out.println( "국어 : " + kor );
 		System.out.println( "영어 : " + eng );
 		System.out.println( "수학 : " + mat );
 		System.out.println( "총점 : " + tot );
 		System.out.println( "평균 : " + avg );
 		System.out.println( "학점 : " + grd );
 		
 	}

}



